package com.zackeus.sipservice.constant;

import androidx.annotation.StringDef;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * @name: Action
 * @author: zz
 * @date: 2022/9/19
 */
public final class Action {

    public static final String ACTION_START_SIP_STACK = "com.zackeus.sipService.startSipStack";
    public static final String ACTION_STOP_SIP_STACK = "com.zackeus.sipService.stopSipStack";
    public static final String ACTION_SET_ACCOUNT = "com.zackeus.sipService.setAccount";
    public static final String ACTION_UNREGISTER_ACCOUNT = "com.zackeus.sipService.unregisterAccount";
    public static final String ACTION_REMOVE_ACCOUNT = "com.zackeus.sipService.removeAccount";
    public static final String ACTION_REFRESH_REGISTRATION = "com.zackeus.sipService.refreshRegistration";
    public static final String ACTION_INCOMING_DELETE = "com.zackeus.sipService.incomingDelete";

    @Target({ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER})
    @Retention(RetentionPolicy.SOURCE)
    @StringDef({ACTION_START_SIP_STACK, ACTION_STOP_SIP_STACK,
            ACTION_SET_ACCOUNT, ACTION_UNREGISTER_ACCOUNT, ACTION_REMOVE_ACCOUNT,
            ACTION_REFRESH_REGISTRATION, ACTION_INCOMING_DELETE})
    public @interface Unit {}
}
